package deprecated;


import java.io.*;
import java.util.*;

public class createFMString {

		
	public static ArrayList<String> einlesen(String text){
		ArrayList<String> s = new ArrayList<String>();
		try {
			BufferedReader br = new BufferedReader(new FileReader (text));
			for(String line = br.readLine(); line!=null; line = br.readLine()){
				s.add(line);
			}
			br.close();
		}
		catch(IOException e){
			System.out.println("Textdatei nicht gefunden");
		}
		
		return s;
	}
	
	public static void zusammenfuegen(String hadoopout, String source, String target){
	//	try{
	//		OutputStream outputStream = new FileOutputStream("maenz@gillespie.cl.uni-heidelberg.de:/home/students/maenz/ausgabe.txt");
	//		Writer bw = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF8"));
			
			
		
		ArrayList<String> vergleich = new ArrayList<String>();
		vergleich = einlesen(hadoopout);
		ArrayList<String> test = new ArrayList<String>();
		test = einlesen(source);
	//	ArrayList<String> train = new ArrayList<String>();
	//	train = einlesen("/home/students/maenz/pattr.xml.de.en.align");
		
		
		//Iterieren über vergleich, extrahieren der beiden Zahlen am Anfang
		String[] vergleichValues = new String[3];
		String testNumb = "";
		//iteriert über vergleichsdatei
			for (int i=0; i<vergleich.size(); i++){
				vergleichValues = vergleich.get(i).split("\t");
				//extrahiert Nummern als testValue und trainValue
				String testValue = vergleichValues[0];
				String trainValue = vergleichValues[1];
				//soll entsprechende Zeilen aus test rausfischen
				for(int j=0; j<test.size(); j++){
					//splittet an <s>, splitting an pipe problematisch
					String[] testSplit = test.get(j).split("<s>");
					//deswegen nochmal splitting an |||
					testNumb = testSplit[0].replace("|||", "");
					if(testValue.equals(testNumb)){
						//System.out.println(test.get(j));
//						bw.append(test.get(j));
//						bw.append("\n");
						break;
					}
				}
				try {
					BufferedReader br = new BufferedReader(new FileReader (target));
					for(String line = br.readLine(); line!=null; line = br.readLine()){
						String[] trainSplit = line.split("<s>");
						String trainNumb = trainSplit[0].replace("|||", "");
						if(trainValue.equals(trainNumb)){
	//						bw.append(line);
	//						bw.append("\n");
							break;
						}
					}
					br.close();
					
	//				bw.close();
				}
				catch(IOException e){
					System.out.println("Textdatei nicht gefunden");
				}
				
		} 
			
		}
	//	catch(IOException e){
	//		System.out.println("Printvorgang nicht möglich.");
	//	}
		
	//}
	
	
	/**
	 * maps the correct sentences to the hadoop output
	 */
	public static void main(String[] args){
		
		String hadoop = args[1];
		String source = args[2];
		String target = args[3];
		
		zusammenfuegen(hadoop, source, target);
		
	}
	
	
}